feat: show externally-created worktrees in UI - #62
Conversation
Worktrees created via `workmux add` CLI now appear in the sidebar (dimmed with "closed" label). Clicking opens them with auto-initialized env/hooks so they work seamlessly without manual setup. - Extract initWorktreeEnv() from addWorktree() for reuse - Lazy-init .env.local and Claude hooks in apiOpenWorktree() - Remove mux === "✓" filter so all worktrees are visible - Add visual distinction (opacity, labels) for closed/opening states Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
954b0ae to
46d54a7
Compare
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@claude review this PR |
|
Claude finished @centdix's task in 2m 14s —— View job PR Review
Overall this is a clean, well-scoped implementation. The extraction of Issues🔴 Hard-coded
|
- Filter main working tree in backend (not hard-coded branch name) - Show alert on open-worktree failure for user feedback - Let envOverrides take precedence over default PROFILE/AGENT - Use Set<string> for openingBranches to handle concurrent opens Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
initWorktreeEnv()fromaddWorktree()so env/hooks initialization can be reused when opening externally-created worktreesapiOpenWorktree()now checks for.env.localand initializes ports, profile, agent, and Claude hooks if missingmux === "✓"filter so CLI-created worktrees appear (dimmed with "closed" label); clicking one opens it and transitions to activeTest plan
workmux add -b test-branch) — confirm it appears dimmed with "closed" label in the sidebarnpx tsc --noEmit) and frontend type-checks (npx svelte-check)🤖 Generated with Claude Code